package com.moli.iov.base.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.moli.iov.base.model.dto.req.SysParamSettingsQueryReqDto;
import com.moli.iov.base.model.dto.res.SysParamSettingsResDto;
import com.moli.iov.base.model.po.SysParamSettings;
import com.moli.iov.model.dto.req.PageExtend;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author wanghualin
 * @since 2019-10-08
 */
public interface ISysParamSettingsService extends IService<SysParamSettings> {

  /**
   * 修改
   */
  public void updateSysParamSettings(SysParamSettings sysParamSettings);

  /**
   * 获取 设置
   */
  SysParamSettings getSysParamSettingsById(Long id);

  /**
   * list
   */
  PageExtend<SysParamSettingsResDto> listSysParamSettings(SysParamSettingsQueryReqDto reqDto);

  /**
   * 根据公司id获取实体类
   */
  List<SysParamSettings> getSysParamSettingsByCompanyId(Long companyId);

  /**
   * 批量添加
   */
  void saveBatchSysParamSettings(List<SysParamSettings> settingsList, Long companyId);

  /**
   * 缓存<>key companyId  value ParamSettingsCacheBeanJsonStr  </>
   */
  public Map<String, String> listSysParamSettingsCacheBean();

  /**
   * 清空缓存
   */
  public void cleanSysParamSettingsCache();

  /**
   * 初始化
   */
  public void initSysParamSettings();
}
